Arrangement for encoding intelligence

ABSTRACT

1. For use in an arrangement for encoding intelligence, a code pulse generator comprising a counting pulse supply, a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mixing circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said inputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output of said binary elements, the mixing circuit including means for converting the state of all its inputs into a predetermined code program appearing at its output, the input of the individual consecutive elements of the counting chain being connected with said counting pulse supply so as to alter its state from counting pulse to counting pulse, and the input of the individual consecutive elements of the counting chain being connected further with the output of every previous element by logic gates which serve to interrupt the changing of the state of any particular stage only when by arriving of a counting pulse the state of all previous elements is &#39;&#39;&#39;&#39;1&#39;&#39;&#39;&#39;, and the mode of action of the counting chain being such as to alter from counting step to counting step more than the half of all the elements of the counting chain and to pass the counting chain through all the possible position combinations before returning to its initial position.

United States Patent Ehrat [15] 3,657,477 [451 Apr. 18, 1972 [54] ARRANGEMENT FOR ENCODING INTELLIGENCE [72] Inventor: Kurt Ehrat, Zurich, Switzerland 340/168 CL, 168 B, 168; 317/140; 328/38, 47, 42, 43, 49; 178/22 [56] References Cited OTHER PUBLICATIONS R. K. Richards, Arithmetic Operations in Digital Computers, pp. 193- 208 Primary ExaminerRichard A. Farley Att0rneyPierce, Scheffler & Parker EXEMPLARY CLAIM 1. For use in an arrangement for encoding intelligence, a code pulse generator comprising a counting pulse supply, a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mixing circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said inputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output of said binary elements, the mixing circuit including means for converting the state of all its inputs into a predetermined code program appearing at its output, the input of the individual consecutive elements of the counting chain being connected with said counting pulse supply so as to alter its state from counting pulse to counting pulse, and the input of the individual consecutive elements of the counting chain being connected further with the output of every previous element by logic gates which serve to interrupt the changing of the state of any particular stage only when by arriving of a counting pulse the state of all previous elements is 1", and the mode of action of the counting chain being such as to alter from counting step to counting step more than the half of all the elements of the counting chain and to pass the counting chain through all the possible position combinations before returning to its initial position.

6 Claims, 4 Drawing Figures Patented April 18, 1972 3,657,477

2 Sheets-Sheet l INVENTOR. K01 t Ehrat MJW ARRANGEMENT FOR ENCODING INTELLIGENCE This invention relates to encoders for encoding intelligence, in particular intelligence transmitted in pulse form, and to the code pulse generators used in such encoders.

In order to encode intelligence transmitted in pulse form, the various pulses or combinations thereof are first mixed at the transmitter with a highly random sequence of corresponding pulses or combinations thereof knownas the code pulses or code pulse combinations, the intelligence then being transmitted in the form of the new pulses produced by the mixing. At the receiver the original intelligence is restored by means of a second identical sequence of code pulses. These code pulse sequences must be produced in identical form at transmitter and receiver, and identical code pulse generators are accordingly used at the transmitter and at the receiver.

The code pulse sequences, and therefore the code pulse generator, must meet special requirements to ensure that there is no chance of the intelligence being tapped by unauthorised persons. Firstly, the period length of the code pulse sequence i.e., the time during which there is no repetition of the code pulse sequence must be large enough to ensure that there is no chance of the complete code pulse program period being performed completely in a useful time, even using very high-speed electronic means. Secondly, the distribution of the pulses within the code pulse sequence must as far as possible be random (statistically distributed).

In proposed apparatus, the usual way to ensure a long code pulse period is to use arrangements like counters i.e., serial arrangements comprising elements, such as disc cams; the various elements are so stepped on in dependence upon one another that the arrangement passes through all the possible position combinations of the various elements before retuming to its initial state. This can be achieved, for instance, in the case of mechanical arrangements, by a number of gears which engage with one another and which have prime numbers of teeth. Alternatively, the condition can be met by a decade counter. The decade counter, although of very simple construction, has the disadvantage that the higher-order stages (elements) change their position only relatively seldom. For instance, in a conventional multiple-place decade counter the tens stage changes only at every tenth step and the hundreds stage changes only at every hundredth step. A conventional counter therefore does not meet the second requirement just outlined i.e., that the state i.e., the position of the various stages of the counter should vary as much as possible from counting step to counting step.

According to one aspect of the present invention there is provided in, or for use in an arrangement for encoding intelligence, a code pulse generator comprising a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mixing circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said inputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output ofsaid binary elements, the mixing circuit arrangement being arranged to deliver at its output a reproducible code pulse programme dependent upon the state of all the inputs of the mixing circuit, and the individual consecutive elements of the counting chain being. arranged so to interact that, from counting step to counting step, the state of, on the average, one half of all the elements of the counting chain alters and the counting chain passes through all the possible position combinations before returning to its initial position.

According to another aspect of the invention there is provided an arrangement for encoding intelligence in pulse form, comprising a transmitting station and a receiving station, and, at each such station the code pulse generator just indicated.

In order to enable the invention to be more readily understood, reference will now be made to the accompanying drawings, which illustrate diagrammatically and by way of example some embodiments thereof, and in which:

FIG. 1 is a block diagram illustrating the basic arrangement of an intelligence transmission system comprising provision for encoding, and

FIGS.- 2, 3 and 4 are block diagrams illustrating three respective embodiments of counter-like circuit arrangements according to this invention.

FIG. I, which is in block schematic form, illustrates two stations which co-operate as transmitter and receiver and via which encoded intelligence is transmitted. At each station is a transmitter 10 or a receiver 12, for instance, a teleprinter of known kind, for transmitting and receiving intelligence in the form of uncoded pulses. The output of the transmitting teleprinter It) delivers to a mixer 14, the output of which is connected to a transmission channel symbolized by an arrow 16. The transmission channel can be, for instance, a wire circuit or a cable circuit or a radio circuit. At the receiver, the transmission channel delivers to a mixer 18, the output of which supplies the receiver teleprinter 12. In order to encode the intelligence, themixers 14 and 18 are supplied by code pulse generators 20' and 22. The intelligence pulse trains produced by the transmitting teleprinter 10 are mixed in the transmitter mixer 14 with the code pulse sequence produced by the generator 20. The resulting encoded pulse sequence is transmitted over the channel 16, then mixed in the receiving mixer 18 with an identical pulse train sequence produced by the generator 22 to restore the intelligence pulses which operate the receiver teleprinter 12.

The code pulse generators 20, 22 comprise a mixing and computing circuit 24 (at the. transmitter) and 26 (at the receiver) and a counting chain 28 (at the transmitter) and 30 (at the receiver). Each counting chain comprises a relatively large number (n) of discrete counter stages 32, the output of each such stage being connected to an input of the mixing and computing circuit. The number of mixing circuit inputs is the same as the number of counter stages and is, with advantage, greater than 20. By means of the mixing and computing circuit, the states of the outputs of the counter circuit arrangement, such states varying from counting step to counting step, are converted by mixing and conversion into the code pulse programme used for encoding. This controlling of the mixing and computing circuit, and the counting chain, ensure that the period length of the code pulse programme is at least as great as the progression time of the counting chain. Mixing and computing circuits of this kind have already been proposed and special examples are described and claimed in the Specification of application Ser. No. 215,674 filed Aug. 8, 1962, now US. Pat. No. 3,291,908 although this invention is not limited to such examples.

For instance, if the counting chain has 30 elements, the counting period is 2 E 10. The interaction between consecutive members of the counting chain is preferably such that the variation of the states arising out of the condition of the outputs of the various members is as large as possible from counting step to counting step i.e., the state of each output changes as often as possible between the O and the 1 states. Also, the variation of the state of the various outputs is so distributed that, even after a relatively reduced number of counting steps, the rate of occurrence of the 0" and 1 states appearing consecutively at each output is, on the average, equal. In the example illustrated in FIG. 1, the counting steps are triggered by counting pulses supplied through connections 34 and 36.

FIG. 2 illustrates an embodiment of a counting chain according to this invention. The counting chain comprises flipflop triggers (0,1,2,3,4, n); in order not to overload FIG. 2, only the first five counting stages 100, 102, 104, 106 and 108 are shown. Control is by means of a counting pulse supplied through a connection 110. The counting pulse triggers the counting chain element into the opposite position and is supplied to the element directly and to the elements 102- 108 via other logical circuit elements 126, 128, 130, 132, 134, 136 and 138. Outputs 112, 114, 116, 118, of the elements 100-108 extend to a mixing and computing circuit arrangement (not shown) of the kind shown in FIG. 1. The state which exists at the output of each counting chain element acts, by way of one delay device 124 per element, upon the immediately following higher counting chain element. The delay circuit arrangements 124 ensure that the counting pulse has completely decayed before the new state of the previous element reaches the immediately higher element. The counting chain operates as follows:

The output of any given counting stage, for instance, of the stage 104, is supplied, together with the counting pulse and via AND-gates 130 and 136, to the input of the immediately following counting element 106. The counting pulse delivered by the connection 110 acts on one input of the AND-gate 130. The second and inverting input of the AND-gate 130 is supplied from the output of a preceding second AND-gate 136. One input thereof is connected by way of a delay circuit arrangement 124 to the output of the immediately previous stage 104 of the counting chain. The second input of the AND-gate 136 is connected to the output of the AND-gate 134 associated with the immediately lower stage. In other words, the counter 106 is triggered by every counting pulse until inversion at the second input of the AND-gate 130 produces a pulse. This is the case when all the preceding elements of the counting chain are simultaneously in the 1 state. Preceding the input of every counting chain element is, therefore, an AND-gate (128,130, 132, and so on), one input of which is controlled by the counting pulse while the second and inverting input is controlled by way of another AND-gate (134, 136, 138 and so on). These further AND-gates are supplied via a delay circuit arrangement 124 from the output of the preceding counting chain element and from the output of the AND-gate of the preceding stage.

Consequently, the various counting stages 100-108 are continuously triggered by the counting pulse between and 1", and this continuous triggering of any stage is interrupted only at the time when all the preceding stages are in a given state the 1 state in FIG. 2. This, however, is also the state in which there would be a carry-over at all the preceding places in a conventional binary counter; for instance, if the counting stages 100, 102, 104 and 106 are at 1, a pulse (1 state) is produced at the output of the AND-gate 138 and, because of the inversion of the corresponding input of the AND-gate 132, prevents the counting pulse from reaching the counting element 108. Therefore, the output states of the counting elements are varied as follows:

Counting Step Counter Position or State 0 0 0 0 0 0 l 1 1 1 1 l 2 0 1 1 l 1 3 l 0 0 0 0 4 0 0 l l l 5 1 1 0 0 0 6 0 l 0 l 1 29 1 1 0 1 1 30 0 1 0 0 0 3| 1 0 1 l l 32 0 0 0 0 0 33 1 1 1 l 1 As will be apparent, there is a very considerable change of states in all the stages at each counting step; on the average, at least half of all the elements of the counting chain change their state at each such step.

FIG. 3 illustrates another embodiment of a counting chain in which the various flip-flop triggers (0,1,2,3,4 n) are in series with one another and the number of outputs is equal to the number of chain elements. In order not to overload FIG. 3, only the first five counting stages 210, 212, 214, 216 and 218 are shown. Any higher stage, for instance, the nth stage, changes over in dependence upon the state of the two preceding stages i.e., of the (n-l) th and (rt-2) th stage in the expulse passes seriatim through all the elements of the chain, and so the various chain elements are triggered consecutively in time, whereas in the arrangement illustrated in FIG. 2 all the elements of the chain are triggered simultaneously. The counting pulse sequence frequency provided by an arrangement of the kind shown in FIG. 3 is therefore much lower than that provided by an arrangement of the kind shown in FIG. 2. Each counting element has a left-hand output and a right-hand output, the states of which are always complementary to one another i.e., when the left-hand output is at, for instance, 0", the right-hand output is at l," and so on. It will be assumed that any counting element is in the 1" state when its right-hand output is in the 1" state. Also, matters are so arranged that the state of any counting element changes whenever the state at the input changes from 0 to 1". The righthand outputs of the elements 210, 212, 214, 216, 218 are connected to the outputs 220, 222, 224, 226 and 228 of the chain. The 0th element 210 is actuated directly by the counting pulse arriving via the connection 230. When the element 210 changes over from the 0" to the 1 state, a pulse acts via a connection 232 on the input of the element 212. The output thereof is connected via an OR-gate 234 to the input of the immediately following element 214. The second input of the OR- gate 234 is connected to the right-hand output of the element 210. Consequently, the element 214 is triggered either when the element 212 changes from 0" to 1 or when the element 210 changes from 1 to 0. The element 214 is therefore not triggered only in the case in which the previous element 212 changes from 1 to 0" and the element 210 changes from 0" to 1". The program of the states of a five-element counting chain of the kind illustrated in FIG. 3 is therefore as follows:

Counting Step Counter Position or State 0 0 0 0 0 0 I 1 l 1 l 1 2 0 1 0 1 0 3 1 0 0 0 0 4 0 l l 1 5 1 1 0 l 0 6 0 1 1 0 0 29 l l 0 0 0 30 0 1 1 1 I In another embodiment which is illustrated in FIG. 4, an ordinary binary counter is used, only the first five flip-flop triggers, i.e. stages 310, 312, 314, 316 and 318 being shown. This chain performs normal binary counting i.e., the higher element is triggered whenever the immediately previous element changes over from 1 to 0". The counting pulse passes right through the chain; considerations of time delay are as for FIG. 3. The two complementary outputs of the various elements of the counter are not connected directly to the counting chain outputs 320, 322, 324, 326 and 328; instead, AND-gate pairs 330, 332; 334, 336; 338, 340; 342, 344 and 346, 348 are connected to the last-mentioned outputs. The second inputs of these AND-gates are controlled by a flip-flop trigger 350, the input of which is controlled, by way of an AND-gate 352, by the counting pulse supplied through a connection 354 and also by the output pulse of a single-state multi-vibrator 356, which is controlled, by way of an OR-gate 358, by the two complementary outputs of the last element (not shown) of the counting chain. When the multi-vibrator 356 is in the normal or 0 state, the trigger 350 is changed over continuously by the counting pulse by way of the AND-gate 352. Consequently, a pulse from the trigger 350 is present alternately at each counting pulse at the corresponding inputs either of the ANDgates 330, 334, 338, 342 and 346 or of the AND-gates 332, 336, 340, 344, and 348. Consequently, the left-hand and right-hand of the two complementary outputs of the elements 310-318 are connected alternately to the outputs 320-328. In other ample. Since the arrangement is a series one, the counting words, the outputs of the counter elements are inverted at each consecutive counting step. The multi-vibrator 356 ensures that this inversion process is interrupted for one counting step when the highest element of the counter changes from to 1", or from 1 to 0. In an arrangement of this kind, the pulse program at the outputs is as follows:

Counting Step Counter Position Ordinary Counter or State For Comparison 0 0 0 0 0 0 0 0 0 0 0 l 0 1 l l l l 0 0 0 0 2 0 l 0 0 0 0 l 0 0 0 3 0 0 l l l l l 0 0 0 4 0 0 1 0 0 0 0 l 0 0 5 0 l 0 l 1 1 0 l 0 0 6 0 l l 0 0 0 1 l 0 0 29 l 0 1 l l 1 0 l l l 30 l 0 0 0 0 0 1 l l l 31 l l l l l 1 l l l l 32 0 0 0 0 0 0 0 0 0 0 33 0 l 1 1 l 1 0 0 0 0 Of course, this invention is not limited to the embodiments hereinbefore described. The important thing is the use of a binary counting chain, the outputs of which are connected individually to the same number of inputs of a mixing and computing circuit arrangement, the interaction between the counting chain elements being such that the state of at least half of all the elements of a counting chain changes at each counting step and the counting chain returns to its initial state only after all the possible position combinations have been passed through Iclaim:

1. For use in an arrangement for encoding intelligence, a code pulse generator comprising a counting pulse supply, a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mixing circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said inputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output of said binary elements, the mixing circuit including means for converting the state of all its inputs into a predetermined code program appearing at its output, the input of the individual consecutive elements of the counting chain being connected with said counting pulse supply so as to alter its state from counting pulse to counting pulse, and the input of the individual consecutive elements of the counting chain being connected further with the output of every previous element by logic gates which serve to interrupt the changing of the state of any particular stage only when by arriving of a counting pulse the state of all previous elements is 1 and the mode of action of the counting chain being such as to alter from counting step to counting step more than the half of all the elements of the counting chain and to pass the counting chain through all the possible position combinations before returning to its initial position.

2. The generator of claim 1, wherein the number of counting chain elements is greater than 20 so that a minimum period length of code pulse program of 2 counting steps is provided.

3. For use in an arrangement for encoding intelligence, a code pulse generator comprising a counting pulse supply, a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mixing circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said inputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output of said binary elements, the mixing circuit including means for converting the state of all its inputs into a predetermined code program appearing at its output, the input of the individual consecutive e ements of the counting chain being connected over an OR- gate with the output of the previous element and with the complementary output of the element before said previous element, and the first element of the counting chain being connected with said counting pulse supply, the individual elements changing its state with every counting pulse excepted when the previous element changes over from the state 1 to the 0" state, and the mode of action of the counting chain being such as to alter from counting step to counting step more than the half of all the elements of the counting chain and to pass the counting chain through all the possible position combinations before returning to its initial position.

4. The generator of claim 3, wherein the number of counting chain elements is greater than 20 so that a minimum period length of code pulse program of 2 counting steps is provided.

5. For use in an arrangement for encoding intelligence, a code pulse generator comprising a counting pulse supply, a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mining circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said inputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output of said binary elements, the mixing circuit including means for converting the state of all its inputs into a predetermined code program appearing at its output, the first element of the counting chain being connected to said counting pulse supply and the input of the consecutive elements being connected to the output of the previous element so as to form an ordinary binary counter, and means for inverting the outputs of said elements from counting step to counting step and for suppressing such inversion when the highest element changes its state, the mode of action of the counting chain being such as to alter from counting step to counting step more than the half of all the elements of the counting chain and to pass the counting chain through all the possible position combinations before returning to its initial position.

6. The generator of claim 5, wherein the number of counting chain elements is greater than 20 so that a minimum period length of code pulse program of 2 counting steps is provided. 

1. For use in an arrangement for encoding intelligence, a code pulse generator comprising a counting pulse supply, a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mixing circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said inputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output of said binary elements, the mixing circuit including means for converting the state of all its inputs into a predetermined code program appearing at its output, the input of the individual consecutive elements of the counting chain being connected with said counting pulse supply so as to alter its state from counting pulse to counting pulse, and the input of the individual consecutive elements of the counting chain being connected further with the output of every previous element by logic gates which serve to interrupt the changing of the state of any particular stage only when by arriving of a counting pulse the state of all previous elements is ''''1'''' , and the mode of action of the counting chain being such as to alter from counting step to counting step more than the half of all the elements of the counting chain and to pass the counting chain through all the possible position combinations before returning to its initial position.
 2. The generator of claim 1, wherein the number of counting chain elements is greater than 20 so that a minimum period length of code pulse program of 220 counting steps is provided.
 3. For use in an arrangement for encoding intelligence, a code pulse generator comprising a counting pulse supply, a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mixing circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said iNputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output of said binary elements, the mixing circuit including means for converting the state of all its inputs into a predetermined code program appearing at its output, the input of the individual consecutive elements of the counting chain being connected over an OR-gate with the output of the previous element and with the complementary output of the element before said previous element, and the first element of the counting chain being connected with said counting pulse supply, the individual elements changing its state with every counting pulse excepted when the previous element changes over from the state ''''1'''' to the ''''0'''' state, and the mode of action of the counting chain being such as to alter from counting step to counting step more than the half of all the elements of the counting chain and to pass the counting chain through all the possible position combinations before returning to its initial position.
 4. The generator of claim 3, wherein the number of counting chain elements is greater than 20 so that a minimum period length of code pulse program of 220 counting steps is provided.
 5. For use in an arrangement for encoding intelligence, a code pulse generator comprising a counting pulse supply, a plurality of binary elements constituting at least one counting chain, an output to each of said binary elements, at least one mixing circuit arrangement, an output to the mining circuit arrangement, and a plurality of inputs to said mixing circuit arrangement, the number of said inputs being substantially equal to the number of elements in the counting chain and each such input being controllable by a respective output of said binary elements, the mixing circuit including means for converting the state of all its inputs into a predetermined code program appearing at its output, the first element of the counting chain being connected to said counting pulse supply and the input of the consecutive elements being connected to the output of the previous element so as to form an ordinary binary counter, and means for inverting the outputs of said elements from counting step to counting step and for suppressing such inversion when the highest element changes its state, the mode of action of the counting chain being such as to alter from counting step to counting step more than the half of all the elements of the counting chain and to pass the counting chain through all the possible position combinations before returning to its initial position.
 6. The generator of claim 5, wherein the number of counting chain elements is greater than 20 so that a minimum period length of code pulse program of 220 counting steps is provided. 